/*
 * GuildRank.h
 *
 *  Created on: 2014. 8. 6.
 *      Author: spencer
 */

#ifndef GUILDRANK_H_
#define GUILDRANK_H_


#include <string>
#include <vector>
#include <list>
#include "../idl/Guild.h"


namespace GuildServer {

class GuildRank
{
public:
	enum { eRankPage = 10, };

private:
	GuildListAck 	m_krgAck[eRankPage];
	uint64_t		m_tmrgAckMade[eRankPage];


public:
	GuildRank();
	virtual ~GuildRank();

public:
	GuildListAck&		GetList( int a_iPage );
	uint32_t			GetRank( uint32_t a_guild_seq );
	uint32_t			GetPrevRank( uint32_t a_guild_seq );
	uint32_t			GetPrevPoint( uint32_t a_guild_seq );
	void 				UpdatePoint( uint32_t a_guild_seq, uint32_t a_point );
	void				RemoveGuild( uint32_t a_guild_seq );

	void 				SaveDailySnapshot( uint32_t a_guild_seq, uint32_t a_point );

	void 				PrintDailySnapshot();

private:
	void	MakeAck( int a_iPage );



};

} // namespace GuildServer {


#endif /* GUILDRANK_H_ */
